////方法3： 
#include<bits/stdc++.h>
using namespace std;

int n, m;
map<int, int> m1;

int main()
{
	cin >> n >> m;
	for(int i=1; i<=n; i++)
	{
		for(int j=1; j<=m; j++)
		{
			int x;
			cin >> x; 
			m1[x]++;
		}
	}	
	for(map<int,int>::iterator it = m1.begin(); it != m1.end(); it++)
	{
		if(it->second * 2 > m * n)
		{
			cout << it->first;
			break;			
		}
	}
	return 0;
}




////方法1： 
//#include<bits/stdc++.h>
//using namespace std;
//
//const int N = 1e6+10;
//int n, m, k=0;
//int a[N];
//
//int main()
//{
//	cin >> n >> m;
//	for(int i=1; i<=n; i++)
//	{
//		for(int j=1; j<=m; j++)
//		{
//			cin >> a[k++];
//		}
//	}
//	sort(a, a+k);
//	cout << a[k/2] << endl;
//	return 0;
//}



////方法2：
//#include<bits/stdc++.h>
//using namespace std;
//
//const int N = 1e6+5;
//int arr[N] = {0};
//
//int main()
//{
//	int n, m;
//	cin >> n >> m;
//	int a[n][m];
//	double cnt = 1.0*n*m/2;
//	for(int i=0; i<n; i++)
//	{
//		for(int j=0; j<m; j++)
//		{
//			cin >> a[i][j];
//			arr[a[i][j]]++;
//		}
//	}
//	
//	for(int i=0; i<1e6+5; ++i)
//	{
//		if(arr[i] > cnt)
//		{
//			cout << i << endl;
//			break;
//		}
//	}
//	return 0;
//}